/**
 * http://usejsdoc.org/
 * 读取xml文件
 */
var fastXmlParser = require('fast-xml-parser');
var ejs = require('ejs');
var path = require('path');
var q = require('q');



//3.配置
// when a tag has attributes
var options = {
    attrPrefix : "@_",/*属性的前缀*/
    attrNodeName: "attr", /*属性节点的容器名称*/
    textNodeName : "text",/*文本节点的名称,不能有子标签*/
    ignoreNonTextNodeAttr : false,/*忽略单节点属性*/
    ignoreTextNodeAttr : false,/*忽略文本节点属性*/
    ignoreNameSpace : true,/*忽略命名空间*/
    ignoreRootElement : false,/*忽略根节点*/
    textNodeConversion : true,/*文本节点类型自动转换*/
    textAttrConversion : true,/*属性节点类型自动转换*/
    arrayMode : true
};



let fs=require('fs');

var getFile = function(fileName){
	let deferred = q.defer();
	fs.readFile(fileName,function (err,content) {
		if(err|| (!content)){
//			console.log(err);
			deferred.reject(new Error("不能解析xml文件:"+fileName));
		}
		else{
			
			let xmlData=content.toString();
			
			//4.解析
			if(fastXmlParser.validate(xmlData)=== true){//optional
				// var jsonObj = fastXmlParser.parse(xmlData,options);
				var tObj = fastXmlParser.getTraversalObj(xmlData,options);
				var jsonObj = fastXmlParser.convertToJson(tObj);
				deferred.resolve(jsonObj);
			}
		}
	});
	return deferred.promise;
}

exports.read=getFile;


